#ifndef LISTECOURS_H
#define LISTECOURS_H

#include <QList>
#include "cours.h"
#include <QDebug>

class ListeCours : public QList<Cours>
{
public:
    ListeCours();

    void AjoutCours(Cours cours);
    void SupprimerCours(int i);
    QString ListeCoursToString();
    void ChargementListeCours(QString datas);

    float TotalCours(QString prof)const;

    float TotalCours(QString prof, int Mois, int Annee)const;
    float TotalCours(QString prof, int Mois, int Annee, int jour)const;
    float totalCours;

    float totalProf;

    void Clear();

    float totalAsso;

    bool TestCoursExiste(QDate Date)const;
    bool TestCoursPourUnMois(int Mois, int Annee)const;

    ListeCours ListeDesCoursPourUnMois(int Mois, int Annee)const;
    ListeCours ListeDesCoursPourMoisPrecedent(int Mois, int Annee)const;

    QString DureeTotalDeCours()const;
    QString DureeTotalDeCours(int Mois, int Annee)const;
    QString DernierCoursToString()const;
    QDate DernierCours()const;
    QString dernierCours;

    ListeCours TriParJourDeCours()const;
    void TrierParJour();



    // Obsolete
//    float TotalCoursPasCeprof(QString prof)const;
//    float TotalProf(QString prof)const;
//    float TotalProf(QString prof, int Mois, int Annee)const;
//    float TotalProf(QString prof, int Mois, int Annee, int jour)const;
//    float TotalAsso(QString prof)const;
//    float TotalAsso(QString prof, int Mois, int Annee)const;
//    float TotalAsso(QString prof, int Mois, int Annee, int jour)const;

private:
    QList<Cours> m_maListeCours;
    float TotalCours()const;


};

#endif // LISTECOURS_H
